"""
1. 部分代码出现次数较多, 可以优化为一行

   例如:
    assert r.json()["status"] == login_data["exp"]["status"]
    assert r.json()["code"] == login_data["exp"]["code"]
    assert r.json()["msg"] == login_data["exp"]["msg"]
2. 使用pytest_check代替assert避免断言失败后, 断言后面的语句执行不到
"""
import  pytest_check

def equal(real, exp, keys=["status", "code", "msg"]):
    # 遍历每一个要比较的键
    for k in keys:
        r = str(real[k])
        e = str(exp[k])
        if pytest_check.equal(r, e):
            print("效验", k, "成功,实际结果为:", r, "预期结果为", e)
        else:
            print("效验", k, "失败,实际结果为:", r, "预期结果为", e)